New debugging function, to log a clipboard format name symbolically.
authorTor Lillqvist <tml@novell.com>
Mon, 4 Apr 2005 00:12:26 +0000 (00:12 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Mon, 4 Apr 2005 00:12:26 +0000 (00:12 +0000)
commit0b2ac32cf5d8ed96ebf743cbfc112d7e52928c81
tree36a7395abd82e5c8bc1ad3ca0aec863ae0c8bc57
parentba433af9fb2419f3429622d40300c7ac3659fd75
New debugging function, to log a clipboard format name symbolically.

2005-04-04  Tor Lillqvist  <tml@novell.com>

* gdk/win32/gdkmain.c (_gdk_win32_cf_to_string): New debugging
function, to log a clipboard format name symbolically.
(_gdk_win32_data_to_string): Also new, to log random data bytes.

Implement delayed rendering on Win32, specifically for transfering
images through the clipboard from GTK+ apps to other
apps (#168173, implementation by Ivan Wong):

* gdk/win32/gdkevents-win32.c (gdk_event_translate):
Handle WM_RENDERFORMAT.

* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkglobals-win32.c: Add _format_atom_table,
_delayed_rendering_data and _image_bmp.

* gdk/win32/gdkmain-win32.c: Initialize _image_bmp.

* gdk/win32/gdkproperty-win32.c (gdk_property_change):
Accept formats other than GDK_TARGET_STRING or _utf8_string, and
assume they are handled through delayed rendering.

* gdk/win32/gdkselection-win32.c (gdk_selection_convert):
Return all available formats (including those registered by GTK+
apps) on request_targets.
(gdk_selection_property_get): We should append a zero byte like
X11 does.
(gdk_win32_selection_add_targets): New function, for
gtkselection's use. Win32 requires that the clipboard owner
registers all valid formats even if the owner wants delayed
rendering.
(_gdk_win32_selection_convert_to_dib): New function. Convert
images to DIB using gdk-pixbuf.

* gdk/win32/gdkwin32.h: Declare gdk_win32_selection_add_targets().

* gtk/gtkselection.c (gtk_selection_add_target,
gtk_selection_add_targets): Call gdk_win32_selection_add_targets()
to register target formats.

* gdk/gdk.symbols: Add gdk_win32_selection_add_targets().
13 files changed:
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gdk/gdk.symbols
gdk/win32/gdkdisplay-win32.c
gdk/win32/gdkevents-win32.c
gdk/win32/gdkglobals-win32.c
gdk/win32/gdkmain-win32.c
gdk/win32/gdkprivate-win32.h
gdk/win32/gdkproperty-win32.c
gdk/win32/gdkselection-win32.c
gdk/win32/gdkwin32.h
gtk/gtkselection.c